//package com.qkjia.zqkspringshell.mysqldemo;
//
//import org.springframework.shell.Availability;
//import org.springframework.shell.standard.ShellComponent;
//import org.springframework.shell.standard.ShellMethod;
//import org.springframework.shell.standard.ShellMethodAvailability;
//import org.springframework.shell.standard.ShellOption;
//
//import java.sql.Connection;
//import java.sql.DriverManager;
//import java.sql.SQLException;
//import java.sql.Statement;
//
////自定义命令类
//@ShellComponent
//public class TestMysqlConnectd {
//
//    public TestMysqlConnectd() {
//    }
//
//    private boolean connected;
//
//
//    // 指定该方法限制的命令
//    @ShellMethodAvailability({"testConnectd"})
//    public Availability checkAuth() {
//        String message = "Sorry! You are not connected";
//        return connected ? Availability.available() : Availability.unavailable(message);
//    }
//
//    @ShellMethod("测试数据库，能不能连接成功")
//    public boolean testConnectd(
//            @ShellOption(arity = 1, defaultValue = "jdbc:mysql://localhost:3306/mybase")
//                    String url, String username, String password) {
//        try {
//            Connection con;
//            Class.forName("com.mysql.jdbc.Driver");
//            con = DriverManager.getConnection(url, username, password);
//            return this.connected = true;
//        } catch (Exception ex) {
//            throw new RuntimeException(ex + "数据库连接失败");
//        }
//    }
//
//    @ShellMethod("定义方法,释放资源")
//    public static void close(Connection con, Statement stat) {
//        if (con != null) {
//            try {
//                con.close();
//            } catch (SQLException e) {
//                throw new RuntimeException(e + "数据库放资源失败");
//            }
//        }
//        if (stat != null) {
//            try {
//                stat.close();
//            } catch (SQLException e) {
//                throw new RuntimeException(e + "数据库放资源失败");
//            }
//        }
//    }
//}